package biblioteca.controlador;

import biblioteca.persistencia.Noticia;
import biblioteca.servicio.NoticiaServicio;
import java.util.Collection;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Required;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;


@Controller
public class NoticiaControlador {
    
    private NoticiaServicio noticiaServicio;

    @Autowired
    @Required
    public void setNoticiaServicio(NoticiaServicio noticiaServicio) {
        this.noticiaServicio = noticiaServicio;
    }
    
    @RequestMapping(value = "/menu_inicio", method = RequestMethod.GET)
    public String doPaginaPrincipal(Model model) {
         final Collection<Noticia> plantilla=noticiaServicio.getAllNoticias();
         model.addAttribute("plantilla", plantilla);
        return "/menu_inicio";
		}

    @RequestMapping(value="/ir_crear_noticia", method=RequestMethod.GET)
    public String irCrearNoticia(){
        return "/crearNoticia";
    }
    
    @RequestMapping(value="/listado_Noti", method=RequestMethod.GET)
    public String irNoticias(Model model){
        final Collection<Noticia> plantilla=noticiaServicio.getAllNoticias();
        model.addAttribute("plantilla", plantilla);
        return "/listado";
    }
    
    @RequestMapping(value="/crear_noticia", method=RequestMethod.POST)
    public String doCrearNoticia(@RequestParam("titulo")String titulo,@RequestParam("contenido")String contenido, Model model){
        if(titulo.length()==0 || contenido.length()==0){
            return "/crearNoticia";
            }
        else{
            final Noticia noticia=new Noticia(titulo, contenido);
            noticiaServicio.crearNoticia(noticia);
            System.out.println("creada noticia  con id "+noticia.getId());
            return "redirect:menu_inicio";
        }
    }


    @RequestMapping(value = "/borrarNoti", method = RequestMethod.POST)
    public String borrarNoticia(@RequestParam("id")Long id, Model model){
        noticiaServicio.borrarNoticia(id);
        return "redirect:menu_inicio";
    }
    
}
